安裝mysql
?# 1.搜索鏡像
? ?docker search mysql
?# 2.拉取鏡像
? docker pull mysql
?#3.查看鏡像
?docker images
?#4.啟動鏡像
? ? docker run -d -p 3306:3306 --privileged=true \
? ? -v /home/mysql/log:/var/log/mysql \
? ? -v /home/mysql/data:/var/lib/mysql \
? ? -v /home/mysql/conf:/etc/mysql/conf.d \
? ? -e MYSQL_ROOT_PASSWORD=123456 ?\
? ? --name mysql mysql:5.7
?#新建my.cnf 通過容器卷同步給mysql容器實例
? ? ?[client]
? ? default_character_set=utf8
? ? [mysqld]
? ? collation_server = utf8_general_ci
? ? character_set_server = utf8
#重新啟動mysql容器實例再重新進入并查看字符編碼
? ? ?docker restart mysql
? ? ?docker exec -it mysql /bin/bash
? ? ?SHOW VARIABLES LIKE 'character%'
安裝mysql主從復制
復制的基本原理:
? ? slave會從master讀取binlog來進行數(shù)據(jù)同步
1. master將改變記錄到二進制日志(binary log)。這些記錄過程叫做二進制日志事件,binary log events;
2. slave將master的binary log events拷貝到它的中繼日志(relay log);
3. slave重做中繼日志中的事件,將改變應(yīng)用到自己的數(shù)據(jù)庫中。 MySQL復制是異步的且串行化的
復制的基本原則
? ? ?每個slave只有一個master
? ? ?每個slave只能有一個唯一的服務(wù)器ID
? ? ?每個master可以有多個salve
復制的最大問題
? ? 延時
?
?